//
//  NSDictionary+GetMethod.h
//
//  Created by 张 桀宁 on 2016-11-3.
//  Copyright © 2016年 Alipay. All rights reserved.
//

#import <Foundation/Foundation.h>

NSString* stringTrimed(NSString* str4Trim);

@interface NSDictionary (GetMethod)

// 如果dic中没有有效值, 返回nil
- (id) validValue:(id)thekey expectType:(Class)vtype;

// 如果dic中没有有效值, 返回""
- (NSString*) validStringValue:(id)thekey;

// 如果dic中没有有效值, 且defaultStr有效，返回defaultStr,否则返回""
- (NSString*) validStringValue:(id)thekey withDefault:(NSString*)defaultStr;

// 如果dic中没有有效值, 返回0.f
- (float) validFloatValue:(id)thekey;

// 如果dic中没有有效值, 返回defaultFloat
- (float) validFloatValue:(id)thekey withDefault:(float)defaultFloat;

- (long) validLongValue:(id)thekey;
- (long) validLongValue:(id)thekey withDefault:(NSInteger)defaultLong;

- (double) validDoubleValue:(id)thekey;
- (double) validDoubleValue:(id)thekey withDefault:(double)defaultVal;

// 如果dic中没有有效值, 返回0
- (NSInteger) validIntegerValue:(id)thekey;

// 如果dic中没有有效值, 返回defaultInt
- (NSInteger) validIntegerValue:(id)thekey withDefault:(NSInteger)defaultInt;

// 如果dic中没有有效值, 返回defaultInt
- (unsigned long long) validULLValue:(id)thekey;
- (unsigned long long) validULLValue:(id)thekey withDefault:(unsigned long long)defaultInt;

- (int64_t) validInt64Value:(id)thekey;
- (int64_t) validInt64Value:(id)thekey withDefault:(int64_t)defaultInt;
    
// 如果dic中没有有效值, 返回defaultFloat 获取NSDecimalNumber
- (NSDecimalNumber *) validNumber:(id)thekey withDefault:(NSDecimalNumber *)defaultNumber;

// 如果dic中没有有效值, 返回没有内容的NSArray对象
- (NSArray*) validArrayValue:(id)thekey;

// 如果dic中没有有效值, 返回没有内容的NSDictionary对象
- (NSDictionary*) validDicValue:(id)thekey;

// 如果dic中没有有效值, 返回false
- (Boolean) validBoolValue:(id)thekey;

    
// 如果dic中没有有效值, 返回 当前时间对象
- (NSDate*) validDateValue:(id)thekey;
- (NSDate*) validDateValue:(id)thekey withDefault:(NSDate *)defaultDate;


- (NSDictionary*) dicWithAppendKey:(id)theKey andValue:(id)theVal;

- (NSDictionary*) dicWithAppendDic:(NSDictionary *)dic2Append;

- (NSDictionary*) changeDate2TimeStamp;
@end
